package com.caregiver.watch.business.care.dao;

import com.caregiver.watch.business.care.enums.HealthAlertTypeEnum;
import com.caregiver.watch.business.care.model.po.HealthAlertConfig;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

/**
 * 健康预警配置DAO接口
 */
@Mapper
public interface HealthAlertConfigDao {
    
    /**
     * 插入健康预警配置
     * @param config 预警配置对象
     * @return 影响行数
     */
    int insert(HealthAlertConfig config);
    
    /**
     * 根据ID更新健康预警配置
     * @param config 预警配置对象
     * @return 影响行数
     */
    int updateById(HealthAlertConfig config);
    
    /**
     * 根据ID删除健康预警配置
     * @param id 配置ID
     * @return 影响行数
     */
    int deleteById(Long id);
    
    /**
     * 根据ID查询健康预警配置
     * @param id 配置ID
     * @return 预警配置对象
     */
    HealthAlertConfig selectById(Long id);
    
    /**
     * 根据预警类型查询健康预警配置
     * @param alertType 预警类型
     * @return 预警配置对象
     */
    HealthAlertConfig selectByAlertType(HealthAlertTypeEnum alertType);
    
    /**
     * 查询所有启用的健康预警配置
     * @return 预警配置列表
     */
    List<HealthAlertConfig> selectAllEnabled();
    
    /**
     * 查询所有健康预警配置
     * @return 预警配置列表
     */
    List<HealthAlertConfig> selectAll();
}
